﻿<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <script>
        /*
           倒计时效果
               1. 获取两个时间点。
               2. 转化为时间戳，并相减。
               3. 结果转化为时分秒。
       */
         // 转换公式如下：
        //  d = parseInt(总秒数/ 60/60 /24);   //  计算天数
        //  h = parseInt(总秒数/ 60/60 %24)    //   计算小时
        //  m = parseInt(总秒数 /60 %60 );     //   计算分数
        //  s = parseInt(总秒数%60);           //   计算当前秒数

        // 某个时间到当前的倒数计时

        function countDowm(date) {
            //获取时间
            let d1 = new Date();
            //时间戳
            d1 = d1.getTime();
            let d2 = date.valueOf();
            // 时间戳差值
            let sub = d2 - d1;
            sub = sub / 1000;

            // 公式
            h = parseInt(sub / 60 / 60 % 24)    //   计算小时
            m = parseInt(sub / 60 % 60);     //   计算分数
            s = parseInt(sub % 60);           //   计算当前秒数

            // 补零
            h = h < 10 ? '0' + h : h;
            m = m < 10 ? '0' + m : m;
            s = s < 10 ? '0' + s : s;

            // 字符串拼接
            return h + ":" + m + ":" + s;
        }
        let result = countDowm(new Date('2022-08-17 16:00:00'));
        console.log(result);
    </script>
</body>
</html>